Custom Hooksを作って、Viewとロジックの責務を分離する